package top.wuyang.study.java24.servlet.dept;

import top.wuyang.study.java24.dao.TbDeptDAO;
import top.wuyang.study.java24.entity.Result;
import top.wuyang.study.java24.entity.TbDept;
import top.wuyang.study.java24.util.JsonUtils;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(name = "deptdeleteservlet", urlPatterns = "/dept/delete.action")
public class DeleteServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter writer = resp.getWriter();
        resp.setContentType("application/json");
        try {
            Integer id = Integer.parseInt(req.getParameter("id"));
            TbDept dept = TbDeptDAO.queryById(id);
            if (dept==null){
                Result<String> result = Result.success("删除成功");
                writer.println(JsonUtils.stringify(result));
                return;
            }
            // 查询部门是否存在员工
            int employeeCount = TbDeptDAO.queryCountById(id);
            if (employeeCount>0){
                Result<String> result = Result.fail("部门存在员工，不能删除", null);
                writer.println(JsonUtils.stringify(result));
                return;
            }



            int count= TbDeptDAO.delete(id);
            if (count==1){
                Result<String> result = Result.success("删除成功");
                writer.println(JsonUtils.stringify(result));
            }else {
                Result<String> result = Result.fail("删除失败", null);
                writer.println(JsonUtils.stringify(result));
            }

        } catch (Exception e) {
            e.printStackTrace();
            Result<String> result = Result.fail("删除发生错误", null);
            writer.println(JsonUtils.stringify(result));
        }
    }
}
